﻿import config from "@/config"; // 配置文件

export default {
	domain() {
		return config.uni_app_web_api_url.replace("api", "");
	},
	send(options = {}) {
		// loading加载
		uni.showLoading({
			title: '加载中'
		});
		// 拼接路劲，下面的配置文件会提到
		options.url = config.uni_app_web_api_url + '' + options.url;
		// 请求方式
		options.method = options.method || "GET";

		// 这里看项目的情况来定，如果是没有token，那就删除这里，上面的storage也不需要引入
		// let users = storage.getJson("users");
		// if(users != null){
		// 	options.header = { "Auth-Token" : users.token };
		// }

		// this.console(options);  // 打印请求数据，调试用，上线可以注释

		// 发起Promise请求
		return new Promise((resolve, reject) => {
			uni.request(options).then(data => {
				var [error, res] = data;
				if (error != null) {
					reject(error);
				} else {
					// 相应拦截、根据后端的状态码来写，可以自行判断和封装
					if (res.data.status == '-1001') {
						uni.hideLoading();
						uni.navigateTo({
							url: '/pages/tabBar/index/index'
						});
					} else {
						resolve(res.data);
						uni.hideLoading();
					}
				}
			});
		});
	},
	get(url = "", data = {}) {
		return this.send({
			url: url,
			data: data
		});
	},
	post(url = "", data = {}) {
		return this.send({
			url: url,
			data: data,
			method: "POST"
		});
	}
};
